1. Field of the Invention
The present invention relates to credit-based flow control. More specifically, the present invention relates to methods and apparatus for efficiently and effectively providing buffer characteristic information to a sender using a credit-based transmission mechanism.
2. Description of Related Art
Many conventional network protocols use packet dropping to alleviate congestion at a network node. In one example, a network node in an IP based network receives input data from multiple sources at a rate exceeding its output bandwidth. In conventional implementations, selected packets are dropped to allow transmission of remaining packets within the allocated output bandwidth. The dropped packets are ultimately retransmitted under the control of a higher level protocol such as TCP.
In networks such as fibre channel networks, packet dropping is generally not allowed. Instead, networks such as fibre channel networks implement end-to-end and buffer-to-buffer flow control mechanisms. End-to-end and buffer-to-buffer flow control mechanisms do not allow a first network node to transmit to a second network node until a second network node is ready to receive a frame. The second network node typically indicates that it is ready to receive a frame by granting credits to the first network node. When frames are transmitted, credits are used. When no credits remain, the first network node can no longer transmit to the second network node. However, end-to-end and buffer-to-buffer flow control mechanisms provide only a very rough technique for providing credit information.
It is therefore desirable to provide methods and apparatus for improving credit-based flow control at network nodes in a network such as a fibre channel network with respect to some or all of the performance limitations noted above.